home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 001-025 / scopedisk15 / qrt / object.qrt < prev    next >
Text File  |  1995-03-18  |  6KB  |  257 lines

  1. { ******************************************
  2.  
  3.      QRT source for spheres connected by
  4.      reflecting cylenders
  5.  
  6.   ****************************************** }
  7.  
  8. FILE_NAME = object.raw
  9.  
  10.  
  11. { ** Instance definitions for quadratics to save
  12.      typing. These quadratics are the cylenders
  13.      that connect the spheres                    ** }
  14.  
  15. BEGIN_INSTANCES
  16.  
  17.         QUADRATIC ( loc     = (0, 0, 0),
  18.             name    = X_AXIS_QUAD
  19.  
  20.             a       = 0,
  21.             b       = 1,
  22.             c       = 1,
  23.             d       = 120,
  24.  
  25.             xmin    =    0,     xmax = 100,
  26.             ymin    =  -11,     ymax =  11,
  27.             zmin    =  -11,     zmax =  11,
  28.  
  29.             diff    = ( .1,  .1 , .9),
  30.             reflect = .66,
  31.             sreflect= 20,
  32.           )
  33.  
  34.         QUADRATIC ( loc     = (0, 0, 0),
  35.             name    = Y_AXIS_QUAD
  36.  
  37.             a       = 1,
  38.             b       = 0,
  39.             c       = 1,
  40.             d       = 120,
  41.  
  42.             xmin    =  -11,     xmax =  11,
  43.             ymin    =    0,     ymax = 100,
  44.             zmin    =  -11,     zmax =  11,
  45.  
  46.             diff    = ( .1,  .1 , .9),
  47.             reflect = .65,
  48.             sreflect= 20,
  49.           )
  50.  
  51.         QUADRATIC ( loc     = (0, 0, 0),
  52.             name    = Z_AXIS_QUAD
  53.  
  54.             a       = 1,
  55.             b       = 1,
  56.             c       = 0,
  57.             d       = 120,
  58.  
  59.             xmin    =  -11,     xmax =  11,
  60.             ymin    =  -11,     ymax =  11,
  61.             zmin    =    0,     zmax = 100,
  62.  
  63.             diff    = ( .1,  .1 , .9),
  64.             reflect = .66,
  65.             sreflect= 20,
  66.           )
  67.  
  68.  
  69. END_INSTANCES
  70.  
  71.  
  72. { ** A pattern for the ground ** }
  73.  
  74. PATTERN ( x_size = 50,
  75.           y_size = 50,
  76.           name   = CHECK,
  77.  
  78.           RECTANGLE (
  79.             start_x = 0,
  80.             start_y = 0,
  81.             end_x   = 25,
  82.             end_y   = 25,
  83.             diff    = (1, .2, .2)
  84.           )
  85.           RECTANGLE (
  86.             start_x = 25,
  87.             start_y = 25,
  88.             end_x   = 50,
  89.             end_y   = 50,
  90.             diff    = (1, .2, .2)
  91.           )
  92.         )
  93.  
  94. { ** The actual world starts here ** }
  95.  
  96. BEGIN_BBOX
  97.  
  98.     BEGIN_BBOX       { ** This is the lower half ** }
  99.  
  100.         BEGIN_BBOX
  101.  
  102.             SPHERE ( loc = (0, 0, 0),        { ** back ** }
  103.                      radius = 20,
  104.                      diff = (.9, .1, .1),
  105.                      reflect = .60,
  106.                      sreflect = 20
  107.                    )
  108.  
  109.             SPHERE ( loc = (100, 0, 0),
  110.                      radius = 20,
  111.                      diff = (.9, .1, .1),
  112.                      reflect = .60,
  113.                      sreflect = 20
  114.                    )
  115.  
  116.             INSTANCE_OF ( name = X_AXIS_QUAD,
  117.                           loc  = (0, 0, 0)
  118.                         )
  119.  
  120.         END_BBOX
  121.  
  122.         BEGIN_BBOX                           { ** front ** }
  123.             SPHERE ( loc = (0, 0, 100),
  124.                      radius = 20,
  125.                      diff = (.9, .1, .1),
  126.                      reflect = .60,
  127.                      sreflect = 20
  128.                    )
  129.  
  130.             SPHERE ( loc = (100, 0, 100),
  131.                      radius = 20,
  132.                      diff = (.9, .1, .1),
  133.                      reflect = .60,
  134.                      sreflect = 20
  135.                    )
  136.  
  137.             INSTANCE_OF ( name = X_AXIS_QUAD,
  138.                           loc  = (0, 0, 100)
  139.                         )
  140.  
  141.         END_BBOX
  142.  
  143.         INSTANCE_OF ( name = Z_AXIS_QUAD,
  144.                       loc  = (0, 0, 0)
  145.                     )
  146.  
  147.         INSTANCE_OF ( name = Z_AXIS_QUAD,
  148.                       loc  = (100, 0, 0)
  149.                     )
  150.  
  151.     END_BBOX
  152.  
  153.     BEGIN_BBOX       { ** This is the upper half ** }
  154.  
  155.         BEGIN_BBOX                           { ** back ** }
  156.  
  157.             SPHERE ( loc = (0, 100, 0),
  158.                      radius = 20,
  159.                      diff = (.9, .1, .1),
  160.                      reflect = .60,
  161.                      sreflect = 20
  162.                    )
  163.  
  164.             SPHERE ( loc = (100, 100, 0),
  165.                      radius = 20,
  166.                      diff = (.9, .1, .1),
  167.                      reflect = .60,
  168.                      sreflect = 20
  169.                    )
  170.  
  171.             INSTANCE_OF ( name = X_AXIS_QUAD,
  172.                           loc  = (0, 100, 0)
  173.                         )
  174.  
  175.         END_BBOX
  176.  
  177.         BEGIN_BBOX                           { ** front ** }
  178.  
  179.             SPHERE ( loc = (0, 100, 100),
  180.                      radius = 20,
  181.                      diff = (.9, .1, .1),
  182.                      reflect = .60,
  183.                      sreflect = 20
  184.                    )
  185.  
  186.             SPHERE ( loc = (100, 100, 100),
  187.                      radius = 20,
  188.                      diff = (.9, .1, .1),
  189.                      reflect = .60,
  190.                      sreflect = 20
  191.                    )
  192.  
  193.             INSTANCE_OF ( name = X_AXIS_QUAD,
  194.                           loc  = (0, 100, 100)
  195.                         )
  196.  
  197.         END_BBOX
  198.  
  199.         INSTANCE_OF ( name = Z_AXIS_QUAD,
  200.                       loc  = (0, 100, 0)
  201.                     )
  202.  
  203.         INSTANCE_OF ( name = Z_AXIS_QUAD,
  204.                       loc  = (100, 100, 0)
  205.                     )
  206.  
  207.     END_BBOX
  208.  
  209.     { ** four vertical cylenders ** }
  210.  
  211.     INSTANCE_OF ( name = Y_AXIS_QUAD,
  212.                   loc  = (0, 0, 0)
  213.                 )
  214.  
  215.     INSTANCE_OF ( name = Y_AXIS_QUAD,
  216.                   loc  = (0, 0, 100)
  217.                 )
  218.  
  219.     INSTANCE_OF ( name = Y_AXIS_QUAD,
  220.                   loc  = (100, 0, 0)
  221.                 )
  222.  
  223.     INSTANCE_OF ( name = Y_AXIS_QUAD,
  224.                   loc  = (100, 0, 100)
  225.                 )
  226.  
  227. END_BBOX
  228.  
  229. PARALLELOGRAM ( loc  = (-10000, -60, -10000),
  230.                 v1   = ( 20000,   0,      0),
  231.                 v2   = (     0,   0,  20000),
  232.  
  233.                 diff = (.1,1,.1),
  234.                 pattern = check,
  235.                 xmult   = 2,
  236.                 ymult   = 2
  237.               )
  238.  
  239. OBSERVER ( loc    = (60, 150, 250),
  240.            lookat = (50, 50, 50)
  241.          )
  242.  
  243. LAMP ( loc = (70, 250, 350),
  244.        radius = 5,
  245.        dist = 200
  246.      )
  247.  
  248. FOC_LENGTH = 80
  249.  
  250. SKY  ( horiz  = (0, 0, .55),
  251.        zenith = (0, 0, .25),
  252.        dither = 4
  253.      )
  254.  
  255.  
  256.  
  257.